package com.niiwoo.civet.trade.service.statisticsinfo;

import com.niiwoo.civet.trade.dto.request.thirdplateformdata.DataReportChinaJrbRequestDTO;
import com.niiwoo.civet.trade.dto.request.thirdplateformdata.DataReportJrbRequestDTO;
import com.niiwoo.civet.trade.dto.request.thirdplateformdata.WangDaiTianYanRequestDTO;
import com.niiwoo.civet.trade.dto.request.thirdplateformdata.WangDaiZhiJiaRequestDTO;
import com.niiwoo.civet.trade.dto.response.statisticsinfo.StatisticsInfoResponseDTO;
import com.niiwoo.civet.trade.dto.response.thirdplateformdata.WangDaiTianYanResponseDTO;
import com.niiwoo.civet.trade.dto.response.thirdplateformdata.WangDaiZhiJiaOverDebtResponseDTO;
import com.niiwoo.civet.trade.dto.response.thirdplateformdata.WangDaiZhiJiaProjectResponseDTO;

import java.io.IOException;

/**
 * @Author: wuke
 * @Description: 统计数据相关
 * @Date: Created in 17:36 2017/12/29
 */
public interface StatisticsInfoDubboService {
    /**
     * 获取统计数据
     * @return
     */
    public StatisticsInfoResponseDTO queryStatisticsInfo();

    /**
     * 定时更新统计数据到DataBase中
     */
    public void updateStatisticsInfoForJob();

    /**
     * 网贷之家标的查询
     * @param dto
     * @return
     */
    default WangDaiZhiJiaProjectResponseDTO getProjectsByDateForWdzj(WangDaiZhiJiaRequestDTO dto){
        throw new UnsupportedOperationException("不支持的方法");
    };

    /**
     * 网贷之家提前结清查询
     * @param dto
     * @return
     */
    default WangDaiZhiJiaOverDebtResponseDTO getOverdebtProjectsWdzj(WangDaiZhiJiaRequestDTO dto){
        throw new UnsupportedOperationException("不支持的方法");
    };

    default WangDaiTianYanResponseDTO getProjectsByDateForTianyan(WangDaiTianYanRequestDTO dto){
        throw new UnsupportedOperationException("不支持的方法");
    };

    default WangDaiTianYanResponseDTO getInvestorOrdersForTianyan(WangDaiTianYanRequestDTO dto){
        throw new UnsupportedOperationException("不支持的方法");
    };

    default WangDaiTianYanResponseDTO getOverdebtProjectsForTianyan(WangDaiTianYanRequestDTO dto){
        throw new UnsupportedOperationException("不支持的方法");
    };

    /**
     * 深圳互金协会上报
     * @param reportJrbRequestDTO
     * @return
     */
    default int reportDataToJrb(DataReportJrbRequestDTO reportJrbRequestDTO){throw new UnsupportedOperationException("不支持的方法");}

    /**
     * 中国互金协会上报
     * @param dataReportChinaJrbRequestDTO
     * @return
     */
    default int reportDataToChinaJrb(DataReportChinaJrbRequestDTO dataReportChinaJrbRequestDTO) throws IOException {throw new UnsupportedOperationException("不支持的方法");}


    /**
     * 查询文件结果，生成结果文件
     * @param fileNme
     * @return
     * @throws IOException
     */
    default String queryReportDataToChinaJrb(String fileNme) throws IOException {throw new UnsupportedOperationException("不支持的方法");}

}
